// // 类的类型
interface IdFunc<Type >{
    id:(value:Type)=>Type;//表示id方法接收一个Type类型的参数，返回一个Type类型的值
    ids:()=>Type[];//表示ids方法不接收参数，返回一个Type类型的数组
}
interface IdFunc1<Type>{ 
    id:Type
    ids:Type[]
    id1:(value:Type)=>Type
    ids1:()=>Type[]
}

let obj: IdFunc<number> = { //obj是IdFunc接口的实例，IdFunc接口定义了id和ids方法，id方法接收一个number类型的参数，返回一个number类型的值，ids方法不接收参数，返回一个number类型的数组
    id: (value: number) => value, //id方法接收一个number类型的参数，返回一个number类型的值
    ids: () => [1, 2, 3] //ids方法不接收参数，返回一个number类型的数组
}
let obj1:IdFunc1<string>={
    id:'1',
    ids:['1','2','3'],
    id1:(value:string)=>value,
    ids1:()=>['1','2','3']
}
console.log(obj.id(1));//1
console.log(obj.ids());//[1,2,3]
console.log(obj1.id1('1'));//1
console.log(obj1.ids1());//['1','2','3']